package com.yudean.esb.security;

/**
 * 用来为系统提供基础的安全检查功能
 *
 * @author DL<duanlei#gdyd.com>
 * @version V1.0
 * @date 13-8-27 上午9:23
 */
public interface SecurtiyChecker {
    /**
     * 校验serviceID和token
     * @param serviceID 定义的服务的唯一标示
     * @param token 安全令牌
     * @return boolean
     */
    boolean validate(String serviceID, String token);
    /**
     * 验证ID的合法性
     * 保证平台的唯一生成源，
     *
     * @param id ID 一般长度33
     * @return
     */
    boolean verifyID(String id);

    /**
     * 从token中反解码包含的用户信息
     *
     * @param token
     * @return
     * @see #decode(String)
     */
    String[] getUserInfo(String token);

    /**
     * 更通用的解码函数，
     *
     * @param token
     * @return  userId#expireTime
     */
    String decode(String token);

}
